﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ED_Nivelacion.Negocios;

namespace ED_Nivelacion.PresentacionWeb
{
    public partial class Carreras : System.Web.UI.Page
    {
        Jornada_C _objJornada_C = new Jornada_C();
        Carrera _objCarrera = new Carrera();
        Carrera_C _objCarrera_C = new Carrera_C();
        DistribucionCarreraJornada _objDCarrera = new DistribucionCarreraJornada();
        DistribucionCarreraJornada_C _objDCarrera_C = new DistribucionCarreraJornada_C();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["tipoUsuario"] != null)
            {
                if (Session["tipoUsuario"].ToString() != "Administrador")
                {
                    if (Session["tipoUsuario"].ToString() == "Docente")
                    {
                        Response.Redirect("frm_InicioDocente.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Coordinador")
                    {
                        Response.Redirect("frm_InicioCoordinador.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Estudiante")
                    {
                        Response.Redirect("frm_InicioEstudiante.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Tutor")
                    {
                        Response.Redirect("frm_InicioTutor.aspx");
                    }
                }
            }
            else
            {
                Response.Redirect("frm_Login.aspx");
            }

            if (!Page.IsPostBack)
            {
                

                cbm_Jornada.DataSource = _objJornada_C.ObtenerJornada();
                cbm_Jornada.DataValueField = "idJornada";
                cbm_Jornada.DataTextField = "JornadaNombre";
                cbm_Jornada.DataBind();



            }
        }

        void Guardar_Carrera()
        {
            var carrera = txt_Carrera.Text;
            var jornada = cbm_Jornada.SelectedValue;

            _objCarrera.CarreraNombre = carrera;
            var msm = _objCarrera_C.AgregarCarrera(_objCarrera);

            if (msm == "OK")
            {
                int idCarrera = _objCarrera_C.ObtenerCarrera().Last().idCarrera;

                _objDCarrera.idCarrera = idCarrera;
                _objDCarrera.idJornada = int.Parse(jornada);

                var msn = _objDCarrera_C.AgregarCarreraJornada(_objDCarrera);

                if (msn == "OK")
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Carrera ingresada correctamente');", true);
                    Timer1.Enabled = true;
                }
                else
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msn + "');", true);
                    Timer1.Enabled = true;
                }
            }
            else
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msm + "');", true);
                Timer1.Enabled = true;
            }
        }

        void Editar_Carrera()
        {
            var carrera = txt_Carrera.Text;
            var jornada = cbm_Jornada.SelectedValue;
            var id = txt_Editar.Text;
            var idCJ = txt_EditarJ.Text;

            _objCarrera.idCarrera = int.Parse(id);
            _objCarrera.CarreraNombre = carrera;
            var msm = _objCarrera_C.EditarCarrera(_objCarrera);

            if (msm == "OK")
            {

                _objDCarrera.idCarrera_Jornada = int.Parse(idCJ);
                _objDCarrera.idJornada = int.Parse(jornada);

                var msn = _objDCarrera_C.EditarCarreraJornada(_objDCarrera);

                if (msn == "OK")
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Carrera modificada correctamente');", true);
                    Timer1.Enabled = true;
                }
                else
                {
                    ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msn + "');", true);
                    Timer1.Enabled = true;
                }
            }
            else
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msm + "');", true);
                Timer1.Enabled = true;
            }
        }

        protected void Btn_Guardar_Click(object sender, EventArgs e)
        {
            if (txt_Carrera.Text == "" || cbm_Jornada.SelectedItem.Value == "")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('Todos los campos son obligatorias');", true);
                Timer1.Enabled = true;
            }
            else
            {
                Guardar_Carrera();
            }
        }

        protected void btn_Editar_Click(object sender, EventArgs e)
        {
            if (txt_Editar.Text == "" || txt_EditarJ.Text == "")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('No se pudo obtener el registro');", true);
                Timer1.Enabled = true;
            }else if (txt_Carrera.Text == "" || cbm_Jornada.SelectedItem.Value == "")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('Todos los campos son obligatorias');", true);
                Timer1.Enabled = true;
            }
            else
            {
                Editar_Carrera();
            }
            
        }


    }
}